草庐IT

TypeScript 命名空间

全部标签

javascript - 在 typescript 中获取函数名称

我正在寻找一种方法来获取传入参数的函数名称console.clear();classA{test(){}testCall(fnc:Function){console.log(fnc.name);//iwantitdisplaytestherenotemptyconsole.log(fnc);}}vara=newA();a.testCall(a.test);你可以在jsbin中查看http://jsbin.com/loluhu/edit?js,console 最佳答案 我发现这是typescript中的一个错误你可以在这里找到解决方案

javascript - TypeScript 可更新和枚举引用

我有一个用JavaScript编写的外部SDK,我正在使用它。这些模块之一,Blob是可更新的,但也公开了一个枚举FooEnum(成员Bar和Baz).在JavaScript中使用此SDK的代码如下:constblobInstance=newSdk.Blob();constfooType=Sdk.Blob.FooEnum.Baz;我现在正在尝试编写一个接口(interface),我可以将此SDK转换到该接口(interface),以提供一些类型安全性。这是我到目前为止所得到的:interfaceBlobInterface{}enumFoo{Bar,Baz}interfaceSdk{Bl

javascript - 如何在 Vue.js - Nuxt - TypeScript 应用程序中访问路由参数?

我正在构建一个基于NuxtTypeScriptStarter的网站模板。我在我的页面文件夹中创建了一个动态路由的页面_id.vue,我想在我的TS类中访问该id属性。我可以通过编写{{$route.params.id}}在我的模板中访问它,但是当我尝试在类中引用$route时,我得到一个错误:errorTS2304:Cannotfindname'$route'. 最佳答案 作为一个简单的解决方案,尝试从vue-router导入路由,如下所示:importComponentfrom"vue-class-component"import

javascript - 使用 javascript 扩展 typescript 库

我正在使用Ionic3构建一个简单的map应用程序,以便展示我正在使用leaflet(打字版)和OpenStreetmap图block我想给用户下载和缓存map的可能性,因此我找到了leaflet-offlinehere并想使用它,因为它允许我使用我的localstorage来存储图像。现在我的问题出现了,因为我正在尝试将typescript与javascript混合使用,但我不知道如何使其正常工作。我做了什么,有什么问题:我安装了leaflettyped版本,然后安装了leaflet-offlinejavascript版本。现在我在我的页面中按如下方式导入它们:import*asle

javascript - 使用 enzyme 和 TypeScript 的浅层 HOC

我有一个HOC要测试,在浅挂载期间我应该调用一些类方法:it('Shouldnotcalldispatch',()=>{constdispatch=jest.fn()constWrappedComponent=someHoc(DummyComponent)constinstance=shallow(,).instance()asWrappedComponentinstance.someMethod()expect(dispatch).toHaveBeenCalledTimes(0)})测试工作正常但TS编译器抛出错误Cannotfindname'WrappedComponent'.这是

javascript - 为什么 TypeScript 转译器将枚举编译成字典查找而不是简单的对象?

我很好奇为什么TypeScript转译器将枚举编译成字典查找而不是简单的对象。这是一个TypeScript枚举示例:enumtransactionTypesEnum{None=0,OSI=4,RSP=5,VSP=6,SDIV=7,CDIV=8}这是TypeScript发出的JS代码:varTransactionTypes;(function(TransactionTypes){TransactionTypes[TransactionTypes["None"]=0]="None";TransactionTypes[TransactionTypes["OSI"]=4]="OSI";Tran

javascript - 有没有一种简单的方法可以去除 mootools 命名空间污染?

我开发的一个客户端javascript库在某些方面使用对象作为散列。它使用属性名称作为键,使用for...in循环遍历从Json数据解析的对象。例如...(伪代码)varconversations={'sha1-string':{name:'foo',messages:[]}}for(varidinconversations){console.log(id);console.log(conversations[id].name);}不幸的是,MooTools(和Prototype等)将方法添加到全局命名空间,所以我的for...in循环现在遍历MooTools的添加项(例如limit、

javascript - CommonJS - 如何将 jquery 和 jquery-plugin 组合到 $ 命名空间中

我想做的是调整我的jQuery插件以在Node.js上使用jQuery。据我了解,最基本形式的CommonJS需要将库包装在闭包中,并且该闭包应该作为“导出”参数的参数提供。这样,代码就整齐地包含在它自己的命名空间中(通过命名变量),并且不会污染全局命名空间。jQuery本身应该属于“$”命名空间。阿拉:var$=require(jquery);但我的插件也应该适合“$”命名空间。插件代码:(function($){//plugincodegoeshere})(jquery);exports.jquery=jquery//willthiswork?例如:var$=require(jqu

javascript - Typescript 不从 TFS 发布生成 .js

我会尽量具体一点。我们使用TFS并使用typescript作为客户端脚本。当我们在本地开发时,我们可以完全正常地做所有事情,但问题来自TFS发布的网站。问题是当我们想要部署时,或者如果我们想要自动化它,我们需要做一个解决方法,因为在_PublishedWebsites下typescript似乎不编译任何东西,脚本文件夹只包含.ts文件。目前,解决方法是转到构建文件夹并从那里复制.js文件。此解决方法目前有效,但我认为理想的情况是在_PublishedWebsites文件夹下生成.js文件。我们尝试了不同的选择,但我们还没有找到解决方案,而且周围找到的信息也不是很多。如有任何帮助,我们将

javascript - 调用通过构造函数传入的函数时,我可以避免在 Typescript 中使用单词 "this"吗?

我有:classAdminHomeController{privateconfig1;//Itrieddifferentvariationsherebutnoneworkedpublicconfig2;//constructor(private$scope:IAdminHomeControllerScope){this.config=$scope.config;//{this.config.clear();};}此代码有效,this.config具有我需要的所有方法。但是有没有办法我可以删除对this的需要吗?我希望能够编写以下代码:configChanged=(clear)=>{co